#include <iostream>

using namespace std;

/*
 * string 本质是一个类
 *
 *  char *      是一个指针
 *  string      是一个类，类内部封装了char *，管理这个字符串，是一个char *型的容器
 *
 *  string构造函数
 *      string()                        string s
 *      string(const char * s)
 *      string(const string& str)
 *      string(int n, char c)
 *
 *  size() 可以获取字符串长度
 *
 *  赋值
 *      =
 *      assign()
 *  拼接
 *      +=
 *      append
 *  查找
 *      find()      从左往右查找
 *      rfind()     从右往左查找
 *  替换
 *      replace()   指定从哪个位置起，替换多少个字符
 *  比较
 *      compare()
 *          相等  返回0
 *          大于  返回1
 *          小于  返回-1
 *  字符存取   可以取字符，也可以写(修改单个字符)
 *      []
 *      at()
 *   插入删除
 *      insert()    插入位置和字符串
 *      erase()     删除从哪个位置开始多少个元素
 *   子串
 *      substr()    返回位置(在全字符串中开始的位置)和数量(从开始位置一共多少字符)指定的子串
 *
 */

void test01(){
    string s1;

    const char * c = "hello world!";
    string s2(c);
    cout << "s2= " << s2 << endl;

    string s3(s2);
    cout << "s3= " << s3 << endl;

    string s4(5, 'a');
    cout << "s4= " << s4 << endl;
}

int main() {

    test01();

    return 0;
}
